Embodiments of the present invention relate generally to methods and systems for providing one or more services within a call or other communication session and more particularly to an abstract application dispatcher.
Various types of services or telephony processing features can be provided within a communication session. For example, in a communication session such as a telephone call, call forwarding, call blocking, caller ID, queuing, queue management, legal intercept, group hunting, parallel or sequential calls, forking, emergency calling, and other services can be provided. In addition, any call can involve additional logic that determines what telephony feature/function to apply next and how. In other environments and with different types of sessions, other services and suites of services can be provided. One example of providing a collection of services is chaining of services in a Public Switched Telephone Network (PSTN). In another example (e.g., Internet protocol Multimedia Subsystem (IMS)), various types of Service Capability Interaction Managers (SCIMs) have been developed as specified by Third Generation Partnership Project 2 (3GPP/2) for IP Multimedia Subsystem (IMS). In yet another example of such services, various types of routing services can be provided in a communication session supported on a Session Initiation Protocol (SIP) network. One example of providing such routing services is described in U.S. patent application Ser. No. 11/383,024 filed May 12, 2006 by Maes and entitled “SIP Routing Customization.” In another example, it is also possible to perform routing as described in Java Specification Request (JSR) 289 published by the Java Community Process.
However, these systems are highly dependent on and related to the protocols and technologies supporting the communication session. For example, routing services as typically provided in SIP cannot be easily provided in a PSTN and, conversely, softswitch/PSTN switch routing is quite different from SIP. Similarly, service chaining as provided by switches on a PSTN or IN network is not performed as easily or in the same way in a SIP network. Furthermore, there is not an effective, efficient way to combine different types of services typically offered in different types of networks. Hence, there is a need for improved methods and systems for providing one or more services in a communication session independent of supporting network technologies while providing these capabilities, mechanism, or programming or management approaches to networks where they are typically not available, not common, or not used the same way.